package com.example.codegenerator.domain;

import com.example.codegenerator.common.model.bo.TableInfoBO;
import com.example.codegenerator.common.model.dto.TableLoadDTO;
import com.example.codegenerator.common.model.vo.PageResultVO;
import com.example.codegenerator.common.model.vo.TableResultVO;

import java.util.List;

/**
 * 数据提取 领域层
 *
 * @author lvshengyu
 * @date 2023/8/17
 */
public interface DatabaseDomainApplication {
    /**
     * 加载当前数据库所有表
     *
     * @param tableLoadDTO 数据表查询对象
     * @return
     */
    PageResultVO<List<TableResultVO>> loadTable(TableLoadDTO tableLoadDTO);

    /**
     * 获取表信息
     *
     * @param tableName 表名称
     * @return
     */
    List<TableInfoBO> loadTableInfo(String tableName);

    /**
     * 获取数据表描述信息
     *
     * @param tableName 数据表名称
     * @return
     */
    String getTableComment(String tableName);
}
